package com.ruoyi.system.controller;

import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.domain.Sum;
import com.ruoyi.system.domain.SysNotice;
import com.ruoyi.system.domain.Task;
import com.ruoyi.system.domain.TaskAlert;
import com.ruoyi.system.service.ISysNoticeService;
import com.ruoyi.system.service.ITaskAlertService;
import com.ruoyi.system.service.ITaskService;
import com.ruoyi.system.service.impl.SysNoticeServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.apache.xmlbeans.impl.xb.xsdschema.Public;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@Api("用户信息管理")
@RestController
@RequestMapping("/api")
public class ApiController extends BaseController {


    @Autowired
    private ITaskService taskService;

    @Autowired
    private ITaskAlertService taskAlertService;

    @Autowired
    private ISysNoticeService noticeService;

    /**
     * 查询计划列表
     */
    @ApiOperation("获取用户列表")
    @RequestMapping("/list")
    @ResponseBody
    public TableDataInfo list(Task task)
    {

        startPage();
        List<Task> list = taskService.selectTaskList(task);
        return getDataTable(list);
    }

    /**
     * 功能： 根据计划id返回子计划列表
     * 作者： 摘星
     * 状态： 完结
     */
    @GetMapping("/taskAlertList")
    @ResponseBody
    public TableDataInfo taskAlertList(long taskId){
        startPage();
        System.out.println("测试2");
        List<TaskAlert> list=taskAlertService.selectBYTaskId(taskId);
        return getDataTable(list);
    }

    /**
     * 功能: 获取通知公告列表
     * 作者: 张腾飞
     * 状态: 完结
     *
     */
    @ApiOperation("获取公告列表")
    @RequestMapping("ticeList")
    @ResponseBody
    public TableDataInfo noticeList(SysNotice notice){
        startPage();
        List<SysNotice> list = noticeService.selectNoticeList(notice);
        return getDataTable(list);
    }

    /**
     * 功能: 查看通知公告
     * 作者: 张腾飞
     * 状态: 完结
     *
     */
    @ApiOperation("获取公告列表")
    @RequestMapping("tice")
    @ResponseBody
    public AjaxResult notice(Long noticeId){
        SysNotice sysNotice = noticeService.selectNoticeById(noticeId);
        return AjaxResult.success(sysNotice);
    }

    /**
     * 功能：获取年份周（周计划列表）
     * @param longinUser 登录用户对象（用户）
     * @return 周计划列表
     */
    public TableDataInfo getTasks(SysUser longinUser){
        return null;
    }

    /**
     * 功能：获取子计划列表
     * @param task 周计划对象
     * @return
     */
    public AjaxResult getTaskAlerts(Task task){
        return null;
    }

    /**
     * 功能：保存子计划
     * @param taskAlerts 子计划
     * @return
     */
    public AjaxResult saveTaskAlerts(TaskAlert taskAlerts){
        return null;
    }

    /**
     * 功能：删除子计划
     * @param taskAlert 子计划对象
     * @return
     */
    public AjaxResult delTaskAlerts(TaskAlert taskAlert){
        return null;
    }

    /**
     * 功能：修改是否完成任务
     * @param task 周计划对象
     * @return
     */
    public AjaxResult updateTaskAlert(Task task){
        return null;
    }

    /**
     * 功能：查询所有用户
     * @param leaderSysUser （领导）登录用户
     * @return
     */
    public TableDataInfo findSysUser(SysUser leaderSysUser){
        return null;
    }

    /**
     * 功能：工作总结审评
     * @param sum 总结对象
     * @return
     */
    public AjaxResult commentSum(Sum sum){
        return null;
    }

}
